<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        /* 
            class 子类 extends 父类{
                子类的constructor(){
                    super(参数); 
                    // 子类先继承父类的所有属性
                    // 然后拥有自己的属性 
                }

                方法正常写
            
            }
        
        
        
        */
        class Animal{
            constructor(name,age){
                this.name = name;
                this.age = age;

            }

            eat(){
                return `${this.name}正在吃`
            }
        }





        class Dog extends Animal{
            constructor(wangwang,...args){
                super(...args)
                this.wangwang = wangwang
                
            }

            jidu(){
                return `${this.name}正在缉毒`
            }
        }

        // Dog继承了Animal 的所有属性  并且拥有了自己的属性 wangwang
        //  Dog继承了Animal 的所有方法 并且拥有了自己的方法 jidu 

        class Cat extends Animal{
            constructor(miaomiao,...args){
                super(...args);
                this.miaomiao = miaomiao;
                

            }

            laoshu(){
                return `${this.name}正在吃老鼠`
            }
        }
        // Cat继承了Animal 的所有属性  并且拥有了自己的属性 miaomiao
        //  Cat继承了Animal 的所有方法 并且拥有了自己的方法 laoshu


        class Monkey extends Animal{
            constructor(xiu,...args){
                super(...args)
                this.xiu = xiu;
                

            }

            toutao(){
                return `${this.name}正在偷桃`
            }
        }
        // Monkey继承了Animal 的所有属性  并且拥有了自己的属性 xiu
        // Monkey 继承了Animal 的所有方法 并且拥有了自己的方法 toutao


        const d1 = new Dog('旺旺','旺财',5);
        const c1 = new Cat('喵喵','汤姆',2);
        const m1 = new Monkey('猴子偷桃','杰克',12);


        console.log(d1);
        console.log(c1);
        console.log(m1);

        console.log(d1.eat());
        console.log( c1.eat());
        console.log(m1.eat());




    </script>
</body>
</html>